문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 멀티코어 프로세서 (문단 편집) === 역사 === 싱글코어가 사라진 배경을 보면 멀티코어의 탄생 배경을 알 수 있다. 2000년대 초반, 한계치 이상까지 CPU의 클럭을 끌어올리던 CPU 제조회사들은 2002년에 3 GHz 클럭을 돌파하였다. 그것까지는 좋았다. 문제는 거기서 발생하는 발열, 엄청난 전력소모. 클럭을 올리고 코어의 면적을 넓히는 방식으로 성능향상을 꾀하는 것은 점점 한계를 드러내고 있었다. CPU의 성능이 해마다 기하급수적으로 증가한다고 해도 코어 하나가 처리할 수 있는 작업 속도는 분명히 한계가 있기 때문이다. 물론, CPU 제조회사들도 당연히 이 부분을 알고 있었다. 문제는 당시 기술력으로는 더 이상의 발전이 불가능에 가까울만큼 어려운 것이었고, 그래서 그들은 코어 하나를 극한으로 끌어올려서 성능 향상을 꾀하는 것 보다는 코어 수를 더 늘려서 좀 더 쉽게 CPU 전체의 성능 향상을 도모하는 쪽으로 발전하게 된 것이다. 요약하면, 코어의 개수를 늘리는 쪽으로 CPU가 발전하게 된 것은 [[폴락의 법칙]]에 따라 코어의 면적(트랜지스터 수) 증가만으로 성능 향상을 꾀하는 것이 당시 기술력으로는 이미 한계치에 가까웠기 때문이다. 이렇게하여 2005년 5월, [[인텔 펜티엄D 시리즈]]와 [[AMD 애슬론 64 시리즈#s-2.2|AMD 애슬론 64 X2 시리즈]]를 필두로 개인용 컴퓨터 시장에 멀티코어 프로세서들이 본격적으로 보급되기 시작했다. 물론, 인텔과 AMD만 그랬던 건 아니라 IBM도 2005년 7월 7일에 POWER4 CPU기반의 일반 가정용 타겟 프로세서인 [[PowerPC]] 970MP를 뒤늦게 발표했고, 애플은 PowerPC 970MP를 채택하여 2005년 10월에 [[Power Macintosh|Power Mac]] G5 Late 2005를 내놓았다. 콘솔 게임기도 2005년 11월에 출시된 [[Xbox 360]]부터, 2011년 이후에는 [[스마트폰]], 나아가 [[인터넷 공유기]]도 멀티코어 프로세서를 사용할 만큼 보편화되었다. 사실 서버나 워크스테이션 등 고성능이 필요한 곳에서는 이미 한참 전부터 메인보드+CPU 조합을 여러 개 설치하여 그룹으로 묶어 병렬처리를 통해 효율을 높이거나, 메인보드 하나에 CPU자체를 여러 개 설치하는 방식인 '''멀티 프로세서(멀티 CPU)''' 형태로 성능 향상을 도모했다. 또 멀티코어 프로세서 형태는 '''이미 2001년에도 있었다.'''[* [[IBM]]의 [[POWER(마이크로프로세서)|POWER4 프로세서]]] 단지 [[메인프레임]] 이상의 대규모 시스템용으로만 공급되어 보기 힘들었을 뿐이다. 하지만 멀티코어 프로세서는 단순히 프로세서를 두 개를 꽂는다고 두 배의 성능을 내는 게 아니다. 프로그램이 처리해야 하는 계산 작업 사이에서 여러 개의 프로세서가 맡아서 처리할 수 없어서 하나의 프로세서만 써야 하는 작업이 생기면 나머지 프로세서는 그 작업이 처리되는 동안 놀고먹는 모양새가 된다.[[http://bbs.ruliweb.com/hobby/board/300143/read/31641416?search_type=subject&search_key=Cpu|이렇게]] 프로그램 내부에서 역할 분담(병렬화, Parallelization)이 되지 않는 부분이 많아지면 프로세서를 아무리 많이 때려박아도 성능 향상에 한계가 생긴다. 이를 전문 용어로 ~~[[조별과제]]~~ [[암달의 법칙]](Amdahl's Law)이라 한다. 듀얼코어 시절에는 배부른 소리처럼 들렸겠지만, 지금은 쿼드 코어를 넘어서 헥사/옥타 코어도 시중에 유통되어 있고, 병렬 처리가 생명인 [[GPU]]는 프로세서를 [[GPGPU|수백~수천개 단위로 투입]]하니 위 법칙이 더욱 체감으로 다가오는 때다. 다만 암달의 법칙 자체는 일반적으로는 훨씬 폭넓은 용어이다. 정확하게는 "시스템 부하의 A%를 차지하는 부분이 아무리 몇배로 개선되어봤자 결과적으로 최대로 얻을 수 있는 이득은 A% 이내일 뿐이다"는 아주 상식적인 소리에 불과하다. 이게 "암달의 법칙"으로 불릴 정도로 유명해진 이유는 (특히 병렬 컴퓨팅 분야에서) 이거 안 지키다가 폭망한 사례가 아주 많아서 그렇다. 이를 피하기 위한 기능으로 인텔 터보 부스트, ~~유사품~~ AMD의 터보 코어[* 터보 부스트가 먼저 나왔다.]처럼 놀고 있는 프로세서는 파워게이팅이라고 전력공급을 차단해 버리고 남는 여유분만큼 일하고 있는 코어를 자동으로 [[오버클럭|추가 클럭]]을 넣어주는 식으로 싱글코어만 써도 어느 정도 성능 향상이 있도록 했다. 전력 공급 및 발열냉각설계는 멀티코어 모두 풀로 쓰는 기준으로 만들어 놨기 때문에 노는 코어가 있으면 다른 코어가 전력을 더 써도 된다. 단, 오버클럭은 부스트 때문에 성능이 향상되는 이유에 대한 간단한 이해를 돕기 위한 비유일 뿐, 실제 부스트로 들어가는 클럭은 제조과정에서 기본적으로 세팅한 것이므로 오버클럭이 아니다. 그래봤자 기본 설정 클럭에서 10~20%정도 밖에 안 올라가는지라 근본적인 해결과는 거리가 멀다. 물론 없는 것보단 10~20%라도 챙기는 게 확실히 낫기 때문에 세대가 올라갈수록 이 기술도 발전해 왔다. [[http://quasarzone.co.kr/bbs/board.php?bo_table=qf_cmr&wr_id=9474|여기]] 4번째 댓글에서 설명하는 것처럼, 모든 코어를 다 쓰는 상황에서도 여유가 되면 부스트 클럭이 들어가거나 내장 GPU를 쓰지 않는 경우 거기서 나오는 전력/발열 여유를 CPU 부스트 클럭 유지에 돌리는 등등 조금이나마 추가적인 성능 향상을 계속 가져온다. 특히 노트북이나 저전력판의 경우 전력 제한에 맞추기 위해 기본 클럭이 매우 낮고 성능도 그만큼 낮은데, 부스트 클럭은 상대적으로 그렇게 낮지 않은 경우가 많아서 부스트 클럭을 통해 쾌적한 환경에서 작업이 가능한 경우가 많다. 모바일용 i3와 i5의 가장 두드러지는 차이가 이것으로, i3는 터보부스트가 없으나 i5는 있다. 하지만 저 정도 차이는 어디까지나 노트북용 CPU 사이에서 뒤에 보통 U가 붙는 저전력 모델 한정. 일반적인 노트북 CPU만 해도 기본 클럭이 높은 쪽이 터보부스트를 씹어먹을 정도의 차이가 날 수 있는 경우가 많기 때문에 클럭 높은 놈이 깡패다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기